CC = g++
CFLAGS = -Wall
LFLAGS = -lm
YFLAGS = -d	# Force creation of y.tab.h
OBJS = hoc.o init.o math.o symbol.o

# Tell Make how to use bison to convert a .y into a .o
.y.o:
	bison $(YFLAGS) $<
	$(CC) $(CFLAGS) -c -o $@ $*.tab.c
	rm -f $*.tab.c

hoc: $(OBJS)
	$(CC) $(CFLAGS) $(OBJS) $(LFLAGS) -o $@

hoc.o: hoc.h
init.o symbol.o: hoc.h hoc.tab.h math.h
math.o: math.h


clean:
	rm -f *~ core $(OBJS) hoc.tab.[ch]
